// Copyright 2022 PingCAP, Ltd.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include <Storages/DeltaMerge/ColumnFile/ColumnFileDeleteRange.h>
#include <Storages/DeltaMerge/DMContext.h>

namespace DB
{
namespace DM
{
ColumnFileReaderPtr ColumnFileDeleteRange::getReader(
    const DMContext & /*context*/,
    const StorageSnapshotPtr & /*storage_snap*/,
    const ColumnDefinesPtr & /*col_defs*/) const
{
    return std::make_shared<ColumnFileEmptyReader>();
}

void ColumnFileDeleteRange::serializeMetadata(WriteBuffer & buf, bool /*save_schema*/) const
{
    delete_range.serialize(buf);
}

ColumnFilePersistedPtr ColumnFileDeleteRange::deserializeMetadata(ReadBuffer & buf)
{
    return std::make_shared<ColumnFileDeleteRange>(RowKeyRange::deserialize(buf));
}

ColumnFileReaderPtr ColumnFileEmptyReader::createNewReader(const ColumnDefinesPtr &)
{
    return std::make_shared<ColumnFileEmptyReader>();
}
} // namespace DM
} // namespace DB
